package demo.service;

import demo.model.Student;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;

/**
 * 业务逻辑层对象，提供数据CURD，及其他功能
 */
public interface StudentService {
    Page<Student> findAll(Pageable pageable);

    Student findById(Long id);

    Student add(Student s);

    Student update(Student s);

    Student delete(Long id);

    Student setPhoto(Long id, MultipartFile file);

    byte[] getPhoto(Long id);

    /**
     * 获取UI中需要的所有下拉选择框数据，数据格式为：属性名 -> List<SelectOption> 的哈希表
     */
    HashMap<String, Object> getSelectData();
}
